﻿// Decompiled with JetBrains decompiler
// Type: Netick.ReplicatorComponent
// Assembly: Netick, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 6726ECA1-C773-4CF7-8952-E81B30D93B52
// Assembly location: D:\WorkSpaceDemo\UPM\NetickForUnity\Netick\Runtime\Netick.dll
// XML documentation location: D:\WorkSpaceDemo\UPM\NetickForUnity\Netick\Runtime\Netick.xml

using System.Runtime.CompilerServices;

#nullable disable
namespace Netick;

public class ReplicatorComponent
{
  public NetickEngine Engine;
  public unsafe int* StatePtr;
  private Entity _entity;

  public ReplicatorComponent(NetickEngine engine) => this.Engine = engine;

  public virtual unsafe void Init(Entity entity, int* stateStart)
  {
    this._entity = entity;
    this.StatePtr = stateStart;
  }

  public virtual void Reset()
  {
  }

  public virtual void PostReadPhase1()
  {
  }

  public virtual int GetSizeWords() => 0;

  [MethodImpl(MethodImplOptions.AggressiveInlining)]
  public unsafe bool MarkAltered(int* p) => this._entity.MarkAltered(p);
}
